package com.ruoyi.system.domain;

import java.math.BigDecimal;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;

/**
 * 团购套餐包含的商品对象 group_purchase_package_item
 *
 * @author ruoyi
 * @date 2025-05-14
 */
@Data
@ApiModel("团购套餐包含的商品")
public class GroupPurchasePackageItem extends AbdulBaseEntity {

    private static final long serialVersionUID = 1L;

    /** 记录唯一标识符 */
    @ApiModelProperty("记录唯一标识符")
    private Long id;

    /** 关联的套餐ID */
    @Excel(name = "关联的套餐ID")
    @ApiModelProperty("关联的套餐ID")
    private Long packageId;

    /** 项目类型 */
    @Excel(name = "项目类型")
    @ApiModelProperty("项目类型")
    private String itemType;

    /** 商品ID */
    @Excel(name = "商品ID")
    @ApiModelProperty("商品ID")
    private Long goodsId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty("商品名称")
    private String goodsName;

    /** 商品分类 */
    @Excel(name = "商品分类")
    @ApiModelProperty("商品分类")
    private String goodsCategory;

    /** 商品单位（如"份"、"杯"） */
    @Excel(name = "商品单位")
    @ApiModelProperty("商品单位（如\"份\"、\"杯\"）")
    private String goodsUnit;

    /** 商品规格（如"大杯"、"中份"） */
    @Excel(name = "商品规格")
    @ApiModelProperty("商品规格（如\"大杯\"、\"中份\"）")
    private String goodsSpec;

    /** 商品售价（套餐内价格，可能与原价不同） */
    @Excel(name = "商品售价", readConverterExp = "套=餐内价格，可能与原价不同")
    @ApiModelProperty("商品售价（套餐内价格，可能与原价不同）")
    private BigDecimal goodsPrice;

    /** 商品数量 */
    @Excel(name = "商品数量")
    @ApiModelProperty("商品数量")
    private Long quantity;

    /** 桌台类型ID（当item_type=TABLE时有效） */
    @Excel(name = "桌台类型ID")
    @ApiModelProperty("桌台类型ID")
    private Long tableTypeId;

    /** 桌台类型名称（如"2人桌"、"4人桌"） */
    @Excel(name = "桌台类型名称")
    @ApiModelProperty("桌台类型名称")
    private String tableTypeName;

    /** 桌台使用时长（分钟，可选） */
    @Excel(name = "桌台使用时长", readConverterExp = "分=钟，可选")
    @ApiModelProperty("桌台使用时长（分钟，可选）")
    private Long tableDuration;

    /** 在套餐中的展示顺序 */
    @Excel(name = "在套餐中的展示顺序")
    @ApiModelProperty("在套餐中的展示顺序")
    private Long displayOrder;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty("手机号")
    private String phone;
}
